Skip to content

pulling everything from main to mobile#131

Merged
tahaminachy43 merged 11 commits intomobilefrom
main
May 1, 2026
Merged

pulling everything from main to mobile#131
tahaminachy43 merged 11 commits intomobilefrom
main

Conversation

@tahaminachy43
Copy link
Copy Markdown
Collaborator

No description provided.

rxmox and others added 11 commits April 30, 2026 17:52
- Add eas.json with development, preview, and production build profiles
- Add iOS bundleIdentifier and ITSAppUsesNonExemptEncryption to app.json
- Add EAS projectId to app.json extra config
- Add referenced app icon/splash assets
Without the EXPO_PUBLIC_ prefix, Expo's bundler strips these vars from
production builds, leaving them undefined and breaking Pusher connections
in EAS/TestFlight builds.
- Change app display name from 'shatter-mobile' to 'Shatter'
- Disable expo-camera microphone/audio permissions; only QR scanning
  is used, so requesting mic access risks App Store rejection
Camera is only used for QR scanning; audio recording is not needed.
Backend: encode 'platform' (mobile|web) into the signed state JWT in
linkedinAuth and linkedinLink. In linkedinCallback, verify state first
and resolve the redirect target from the platform claim — mobile gets
shattermobile://auth, web keeps the existing FRONTEND_URL flow. All
success/error redirects in the callback use the resolved target so the
mobile app receives the auth code (or error) via deep link.

Mobile: switch LinkedIn login from openBrowserAsync to
openAuthSessionAsync so the in-app browser closes on the deep-link
return and the redirect URL is captured in JS. Extract a shared
loginWithLinkedIn helper that handles the full flow (open browser,
parse code, exchange, fetch user) and call it from both LoginForm and
SignupForm with proper loading/error state.
EAS/TestFlight setup and LinkedIn mobile deep-link
React Native's built-in URL constructor does not robustly handle custom
schemes like shattermobile://, causing the deep-link callback URL to
fail to parse and login to silently fail. Switch to Linking.parse from
expo-linking, which is purpose-built for custom-scheme URLs and is
already a project dependency.
Parse LinkedIn deep-link with expo-linking
@tahaminachy43 tahaminachy43 merged commit dc2146d into mobile May 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants